package com.xh.web.mapper;


import com.xh.web.domain.DTable;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 表Mapper接口
 *
 * @author dongxuefei
 * @date 2020-09-04
 */
@Mapper
public interface DTableMapper
{


    /**
     *  查询首页表，根据条件模糊查询
     *
     * @param dTable
     * @return
     */
    public List<DTable> selectDTableList(DTable dTable);


    /**
     * 根据id进行查询
     *
     * @param  id
     * @return
     */
    public DTable selectDTableById(String id);



    /**
     * 根据projectsid进行查询
     * @return
     */
    public List<DTable> selectDTableByProjectId(String projectId);

    /**
     * 新增表
     *
     * @param dTable
     * @return
     */
    public int insertDTable(DTable dTable);

    /**
     * 修改表
     *
     * @param dTable
     * @return
     */
    public int updateDTable(DTable dTable);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    public int deleteDTableById(String id);

    /**
     * 批量删除表
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteDTableByIds(String[] ids);

    /**
     * 根据表code进行查询
     *
     * @param
     * @return 结果
     */
    public DTable selectDTableByCode(@Param("tableCode") String tableCode,@Param("projectId") String projectId);


    //批量新增
    public int insertDTableListOfficial(List<DTable> tableList);

    //查询项目下的所有表id
    public String[] selectTableIdsByProjectId(String projectId);

    /**
     * 查询该目录下是否有子目录或表
     * @param projectId
     * @param contentId
     * @return
     */
    public String checkContent(String projectId,String contentId);

    /**
     * 根据项目ID删除所有的表
     * @param projectId
     * @return
     */
    public int deleteAllTableByProjectId(@Param("projectId")String projectId, @Param("tableCode")String tableCode);

    //更新创建人信息
    public  int updateTableUser(DTable dTable);

    public  int selectTableNumByProjectId(@Param("projectId")String projectId);

    public List<DTable> getRelation(DTable dTable);

}
